<template>
  <div o-Container>
    <o-list v-bind:source="list.developer" v-bind="{created:create,modified:modify,exported:output}"/>
    <o-dialog v-bind:source="panel">
      <template slot="content">
        <o-item v-bind:source="item.developer" v-bind="{saved:save,backed:back,loaded:load}"></o-item>
      </template>
    </o-dialog>
  </div>
</template>

<script>
  export default {
    name: "mms_logger_developer_list", /* 这个name暂时不知道用啥用，根据官方文档说的是方便排错的 */
    data() {
      return {
        octopus: this.$parent.octopus,
        list: {
          developer: {
            data: {
              id: 1067, // 菜单表的八爪鱼ID
              cellData: [
                {name: "CompanyID", width: 100, searchKey: "="},	// 所属公司
                {name: "RealName", searchKey: "LIKE"},	// 真实姓名
                {name: "AppID", width: 170, searchKey: "LIKE"},	// AppID
                {name: "AppKey", width: 300, searchKey: "LIKE"},	// AppKey
                {name: "IdentityNumber", width: 140},	// 身份证
                {name: "Mail", width: 150, searchKey: "LIKE"},	// 邮箱
                {name: "Mobile", width: 130, searchKey: "LIKE"},	// 手机号
                // {name: "TableList"},	// 允许请求的数据源列表
                // {name: "APIList"},	// 允许请求的API列表
                // {name: "MQTTList"},	// 允许请求的消息列表
                {name: "Status", width: 100, searchKey: "="},	// 是否启用
                {name: "CreateUserID"},	// 创建人
                {name: "CreateDate", width: 140, searchKey: "BETWEEN"},	// 创建日期
              ],
            }
          },
        },
        item: {
          developer: {
            // 以下参数默认由组件内部创建，但是如果有需要，开发人员可在这里提前设置，组件将按照您的预期渲染。
            // cache: false,
            // control: null,
            // dataExtend: null,
            data: {
              id: 1067,
              value: "",
              cellData: [
                {name: "CompanyID"},	// 所属公司
                {name: "RealName"},	// 真实姓名
                {name: "AppID"},	// AppID
                {name: "AppKey"},	// AppKey
                {name: "IdentityNumber"},	// 身份证
                {name: "Mail"},	// 邮箱
                {name: "Mobile"},	// 手机号
                {name: "Status"},	// 是否启用
                {name: "CreateUserID"},	// 创建人
                {name: "CreateDate"},	// 创建日期
                {name: "TableList"},	// 允许请求的数据源列表
                {name: "APIList"},	// 允许请求的API列表
                {name: "MQTTList"},	// 允许请求的消息列表
              ]
            },
          },
        },
        panel: {
          visible: false,
        },
      }
    },
    methods: {
      create: function () {
        // 加载对应的列关联绑定数据
        this.item.developer.data.value = null;
        this.item.developer.control.load();
        //
        this.panel.visible = true;
      },
      save: function () {
        // 刷新list
        this.list.developer.control.load();
        this.back();
      },
      modify: function (row) {
        // 加载对应的列关联绑定数据
        this.item.developer.data.value = row.ID;
        this.item.developer.control.load();
        this.panel.visible = true; //打开
      },
      load: function (data) {
        // console.error(JSON.stringify(data));
        // 只有空的时候才动态加载。
        if (!data.content.value) {
          this.octopus.tools.parseCell(this.item.developer.data, "AppID").defaultValue = this.octopus.tools.dateFormat(new Date(), 'yyyyMMddHHmmssS');
          this.octopus.tools.parseCell(this.item.developer.data, "AppKey").defaultValue = this.octopus.tools.guid();
        }
      },
      back: function () {
        this.panel.visible = false; //取消
      },
      output: function (data) {
        alert("export: get cell data is " + JSON.stringify(data));
      },
    },
    props: ["oData"] //数据
  }
</script>
